---

VC Multi-Function Speedometer & Idle Camera System - User Manual

---

1. Overview

This script provides two core functions for GTA: Vice City:

1. Real-time Speedometer: Uses a frame-rate compensated algorithm to display accurate player movement speed, unaffected by frame drops or FPS fluctuations.
2. Idle Cinematic Camera: When the player stands still for a set period, automatically triggers a camera orbit sequence, creating cinematic viewing angles.

Designed for CLEO 4 (classic) environment. No third-party plugins required.

---

2. File Structure

```
Game Root Directory/
 CLEO/
    speed.cs          # Main script file
    speed.ini         # Configuration file (user-editable)
```

---

3. INI Configuration Reference

speed.ini is a plain text file editable with Notepad. Changes take effect without restarting the game (applied on the next loop cycle).

---

3.1 [SPEED]  Speedometer Settings

Ratio Float Controls speed display unit and format:
? 3.6  Display in km/h (kilometers per hour) 
? 2.237  Display in mph (miles per hour) 
? 1.0  Display in m/s (meters per second) 
? 0.0  Hide speedometer completely 
? Any other value  Display raw number only (no unit, for custom conversion)

Example:

```ini
[SPEED]
Ratio=3.6
```

---

3.2 [CAMERA]  Idle Camera Global Settings

Key Type Description
Total Integer Total camera positions (must be even). Script auto-corrects odd numbers to even (e.g., 15  14). Each "shot" consists of 2 camera positions, so Total = 2  number of shots.
Time Integer Camera transition speed coefficient: 
? Larger value  Slower, smoother transitions 
? Smaller value  Faster, snappier cuts Recommended range: 10 ~ 30
Wait Integer Total idle seconds before triggering camera: 
? Values below 5  Auto-corrected to 5 (foolproof) 
? 5  Triggers after 5 seconds of stillness 
? 10  Triggers after 10 seconds of stillness Recommended range: 5 ~ 30
on-off Integer Idle camera master switch: 
? 1  Idle camera enabled 
? 0  Idle camera disabled (speedometer only)

Example:

```ini
[CAMERA]
Total=14
Time=15
Wait=5
on-off=1
```

---

3.3 [CAMERAn] & [LOOKATn]  Camera Position Coordinates

Each shot consists of 2 camera positions, requiring a total of Total pairs of CAMERAn + LOOKATn.

Key Type Description
PositionX Float Left/Right offset: Positive = right of player, Negative = left
PositionY Float Forward/Backward offset: Positive = in front of player, Negative = behind
PositionZ Float Up/Down offset: Positive = above player, Negative = below

Coordinate Origin: Approximately at the character's hip/waist level.

Shot-to-Position Index Mapping:

Shot # Start Position End Position
Shot 1 CAMERA1 / LOOKAT1 CAMERA2 / LOOKAT2
Shot 2 CAMERA3 / LOOKAT3 CAMERA4 / LOOKAT4
... ... ...
Shot N CAMERA(2N-1) / LOOKAT(2N-1) CAMERA(2N) / LOOKAT(2N)

Example (a complete shot):

```ini
[CAMERA1]
PositionX=2.0
PositionY=2.0
PositionZ=1.0
[LOOKAT1]
PositionX=0.0
PositionY=0.0
PositionZ=0.0

[CAMERA2]
PositionX=1.5
PositionY=1.5
PositionZ=0.0
[LOOKAT2]
PositionX=0.0
PositionY=0.0
PositionZ=0.0
```

Interpretation:

 Shot 1 transitions smoothly from "2m right, 2m front, 1m above" looking down at the waist  to "1.5m right, 1.5m front, waist level" looking straight at the waist  creating a dynamic fly-around effect.

Advanced Tips:

 Adjusting LOOKAT's Z value changes the focal point: Z=0.0 (waist), Z=0.3 (stomach/chest), Z=0.8 (head/face), Z=-0.3 (knees).
 Start and end LOOKAT values can differ, allowing the camera's focus to shift during the move for more cinematic tension.

---

4. Installation

1. Ensure CLEO 4 is installed for GTA Vice City.
2. Place speed.cs into your game's CLEO folder.
3. Place speed.ini into the same folder.
4. Launch the game. The script runs automatically.

---

5. Usage Instructions

Action Effect
Normal movement Real-time speed displayed on screen (format determined by Ratio)
Standing still Idle timer starts counting; triggers camera after Wait seconds
Moving during idle Immediately cancels idle mode, returns to normal
Set on-off to 0 Idle camera permanently disabled (speedometer only)
Set Ratio to 0.0 Speedometer completely hidden

---

6. Known Behaviors & Notes

1. Idle Trigger Condition: Detection is based solely on player position change. Rotating the view (mouse movement) does NOT prevent idle trigger, as mouse angle detection is not integrated in this script version.
2. Idle camera will not start up on mission
3. Maximum Camera Positions: Current version supports up to 100 positions (50 shots). To extend beyond this, expand the camera and lookat subroutines in the script.
4. Character Idle Animations: The player may still perform default idle animations like stretching or checking watch while standing still  this is original VC behavior and does not affect camera functionality.

---

7. Troubleshooting

Q: The speedometer readings fluctuate wildly?
A: The script uses frame-rate compensation; readings reflect real physical speed. Brief spikes may occur during severe frame drops, but long-term averages remain accurate.

Q: The idle camera doesn't trigger?
A: Check the following:

1. Is on-off set to 1?
2. Is Wait incorrectly set (below 5 auto-corrects to 5)?
3. Confirm the player is completely still (no movement).
4. Is the game currently in a mission cutscene? (May interfere with idle detection.)

Q: I entered an odd number for Total  what happens?
A: The script auto-corrects odd numbers to even (e.g., 15  14) and writes the corrected value back to the INI file. However, manually entering an even number is recommended to avoid surprises.

Q: Can I run this alongside other CLEO scripts?
A: Yes. As long as no other script interferes with the camera or player position detection, it should work fine.

---

8. Version Information

 Script Name: VC Multi-Function Speedometer & Idle Camera System
 Compatible Game: GTA: Vice City
 Dependency: CLEO 4
 Configuration File: speed.ini

---

9. Credits & Acknowledgments

This script was independently developed by the community modder, integrating the following techniques:

 Frame-rate adaptive speed calculation (based on 16@ thread timer)
 Non-blocking idle timer (based on 17@ thread timer)
 Relative-coordinate camera orbiting system
 Self-correcting INI parameter logic

For feedback, bug reports, or suggestions, please leave a message on the mod release page.

---